객체 함수의 prototype 프로퍼티
#
함수의 prototype 프로퍼티일반 객체에 prototype
프로퍼티를 사용하면 아무런 일이 일어나지 않는다.
Rabbit.prototype = animal
new Rabbit
을 호출해 만든 새로운 객체의[[Prototype]]
을animal
로 설정하라
#
F.prototype 프로퍼티new F
가 호출될 때만 사용된다.new F
를 호출해 새롭게 만든 객체의[[Prototype]]
을 할당해준다.- 새로운 객체가 만들어 진 후에
F.prototype
프로퍼티가 바뀌면 (F.prototype = <another object>
)new F
로 만들어지는 새로운 객체는another object
를[[Prototype]]
으로 갖게 된다.- 기존 객체의
[[Prototype]]
은 그대로 유지 된다.
#
함수의 prototype 프로퍼티와 constructor 프로퍼티- 모든 함수는
prototype
프로퍼티를 갖는다. - 기본
prototype
프로퍼티가 가리키는 객체contructor
프로퍼티 하나만 있는 객체contructor
프로퍼티는 함수 자신을 가리킨다.
Rabbit 을 구현한 객체 모두에서 [[Prototype]]
을 거쳐 contructor
프로퍼티를 사용할 수 있다.
contructor
프로퍼티의 사용#
객체를 만들 때 어떤 생성자가 사용되었는지 알 수 없는 경우 (서드 파티 라이브러리 객체인 경우) 사용한다.